package com.xxzuibang.day8.作用域;

/**
 * 作用域：
 * 在java中，主要的变量就是属性（成员变量）和局部变量
 * 局部变量一般是指在成员方法中定义的变量
 * java中作用域的分类
 * 全局变量：也就是属性，作用域为整个类体cat类，cry，eat等方法使用属性
 * 局部变量：也就是处除了属性之外的其他变量，作用域为定义它的代码块中
 * 4.全局变量可以不赋值直接使用，因为有默认值，局部变量不可以，没有默认值
 */
public class Scope01 {
    public static void main(String[] args) {

    }
}
class Cat{
    //全局变量：也就是属性，作用域为整个类体cat类：eat，run等方法
    int age=10;//指定的值就是10
    //全局变量可以不赋值直接使用，因为有默认值
    double weight;//默认值是0.0
    public void hi(){
        //局部变量必须赋值后才能使用，因为没有默认值
        int num=1;
        String address="西安的猫";
        System.out.println("num"+num);
        System.out.println("address"+address);
        System.out.println("weight"+weight);//属性
    }
    public  void cry(){
        //1.局部变量一般是指在成员方法中定义的变量
        //2.n和name就是局部变量
        //3.n和name的作用域在cry的方法中
        int n=10;
        String name="Jack";
        System.out.println("在cry中使用属性age="+age);
    }
    public void eat(){
        System.out.println("在eat中使用属性age="+age);
//        System.out.println("在eat中使用cry的变量name="+name);//错误的
    }
}